home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr18 / comprt20.zip / COMPORT.DOC next >
Text File  |  1993-05-31  |  45KB  |  1,053 lines

  1.  
  2. PROGRAM: COMPORT V2.0 -- Manipulate and Display COM and LPT Port Info
  3.  
  4.      For COM ports, displays UART type, IRQ used.  Allows addition or
  5.      removal of COM and LPT ports from DOS at any address.  Netware
  6.      and LAN Manager aware.
  7.  
  8. AUTHOR:     OSR Open Systems Resources, Inc.  (CIS: 71477,2703)
  9.      6 Tarn Road
  10.      Mont Vernon, NH  03057-1109
  11.  
  12. COST:     Shareware registration fee of $14.75 (payable as check or
  13.      money order, and mailed to the above address) required after
  14.      evaluation period, not to exceed 30 days.
  15.  
  16. SUPPORT: 90 days, included in cost of registration, available only to
  17.      REGISTERED USERS via Compuserve mail (user id above) and US Mail.
  18.      
  19. UPDATES: REGISTERED USERS will be informed of available major updates
  20.      and important bug fixes.  REGISTERED USERS are eligible for
  21.      free updates during the support period.
  22.      
  23.  
  24. 1.0 Introduction
  25.  
  26. COMPORT is a utility that enables the easy and flexible management of
  27. serial (COM) and parallel (LPT) ports under DOS.  COMPORT has 4 major
  28. functions:
  29.  
  30.     o Adds support to DOS (including DOS V6.0) for COM3, COM4, and
  31.         LPT3, including optionally searching for these devices
  32.         at their default addresses.  Many older BIOSes support
  33.         only COM1, COM2, LPT1 and LPT2.  COMPORT overcomes
  34.         these limitations;
  35.     o Allows specification of any port address for any COM or LPT
  36.         port.  This allows DOS to support both non-standard
  37.         port addresses for any device, as well as the altering
  38.         of COM and LPT port numbering (COM4 can be changed to 
  39.         COM1, for example);
  40.     o ACCURATELY identifies the type of UART chip used or emulated by
  41.         each serial port;
  42.     o ACCURATELY identifies the IRQ used by each serial port;
  43.     
  44. These functions provide the following benefits:
  45.  
  46.     o COM3, COM4, and LPT3 are made available for use with standard
  47.         DOS utilities and programs on all systems, since COMPORT
  48.         makes their existence known to DOS;
  49.     o DOS programs which include support for only 1 or 2 COM or LPT
  50.         ports (of which there are many) can use the devices
  51.         attached to the other ports in the system (COM3, COM4,
  52.         or LPT3, for example) since COMPORT allows the user
  53.         complete control over which device (i.e. which port
  54.         address) is associated with which COM or LPT number;
  55.     o Knowing which type of UART is used in each serial port allows
  56.         users to better predict the maximum communications
  57.         throughput of their systems.
  58.     o Knowing which IRQ is used by each serial port helps identify
  59.         and avoid IRQ conflicts, one of the most frequent causes
  60.         of problems when adding new hardware options to a
  61.         PC-compatible system.
  62.  
  63. All this, and COMPORT is SHAREWARE!
  64.  
  65. This software is very easy to use.  To get started and display the addresses
  66. of the serial and parallel ports in your system, just UNZIP it and type
  67. COMPORT, or type COMPORT /I on a quiescent system (with no network loaded)
  68. to get a display of your port addresses and the IRQs used by the serial
  69. ports.  In the interest of clarity and completeness, full documentation
  70. is provided regarding COMPORT's operation.  Some tutorial material is also
  71. included on how DOS maps COM or LPT port names to physical addresses using
  72. the BIOS Data Area, the different types of serial ports, and why anybody
  73. would care.
  74.  
  75. This manual is approximately 15 pages long, and contains the following
  76. sections.  We do, of course, suggest you read it thoroughly at some point:
  77.  
  78.     Section 1.0 Introduction -- What you're reading now;
  79.     Section 2.0 About Shareware -- An intro to the Shareware concept,
  80.         in case you're new to all this;
  81.     Section 3.0 License -- The legally binding terms under which
  82.         COMPORT is made available for your use and the use of others;
  83.     Section 4.0 Registration -- Why you have to, and why you want to,
  84.         pay for and register your copy of COMPORT;
  85.     Section 5.0 Installation -- How to install COMPORT;
  86.     Section 6.0 Tutorial -- Background on the BDA, UARTs, etc.
  87.     Section 7.0 Usage -- Full details on all COMPORT options, defaults,
  88.         and how they work;
  89.     Section 8.0 Support -- When you get it, how to get it;
  90.     Section 9.0 Legal Minutae -- Leagal minutia;
  91.     Section 10.0 Registration -- How to send us your money to register
  92.         your copy of COMPORT'
  93.     
  94. This is a professionally developed piece of software, created and
  95. maintained by OSR Open Systems Resources, Inc. one of the top network
  96. software development and consulting companies.  We're most interested in
  97. hearing feedback, comments, and input from all registered users.
  98.  
  99.  
  100. 2.0 About Shareware in General
  101.  
  102. Shareware distribution gives users a chance to try software before
  103. buying it. If you try a Shareware program and continue using it, you
  104. are expected to register. Individual programs differ on details --
  105. some request registration while others require it, some specify a
  106. maximum trial period. With registration, you get anything from the
  107. simple right to continue using the software to an updated program with
  108. printed manual.
  109.  
  110. Copyright laws apply to both Shareware and commercial software, and
  111. the copyright holder retains all rights, with a few specific
  112. exceptions as stated below. Shareware authors are accomplished
  113. programmers, just like commercial authors, and the programs are of
  114. comparable quality. (In both cases, there are good programs and bad
  115. ones!) The main difference is in the method of distribution.  The
  116. author specifically grants the right to copy and distribute the
  117. software, either to all and sundry or to a specific group. For
  118. example, some authors require written permission before a commercial
  119. disk vendor may copy their Shareware.
  120.  
  121. Shareware is a distribution method, not a type of software. You should
  122. find software that suits your needs and pocketbook, whether it's
  123. commercial or Shareware. The Shareware system makes fitting your needs
  124. easier, because you can try before you buy.  And because the overhead
  125. is low, prices are low also. Shareware has the ultimate money-back
  126. guarantee -- if you don't use the product, you don't pay for it.
  127.  
  128.  
  129. 3.0 Disclaimer and License Agreement
  130.  
  131. By using COMPORT V2.0 on a computer system, users make the knowing
  132. decision to accept and agree to this disclaimer of warranty.
  133. These are meant to be binding terms and conditions, and not a mere
  134. recital:
  135.  
  136.     "COMPORT V2.0 is supplied as is.  The author disclaims
  137.     all warranties, expressed or implied, including, without
  138.     limitation, the warranties of merchantability and of fitness
  139.     for any purpose.  The author assumes no liability for damages,
  140.     direct or consequential, which may result from the use of
  141.     COMPORT V2.0."
  142.  
  143. COMPORT V2.0 is a "shareware program" and is provided at no charge to
  144. the user for evaluation for a period not to exceed 30 days.  Feel free
  145. to share it with your friends, but you may not give it away altered or
  146. as part of another system.  The essence of "user-supported" software
  147. is to provide personal computer users with quality software without
  148. high prices, and yet to provide incentive for programmers to continue
  149. to develop new products.  If you find this program useful and find
  150. that you are using COMPORT V2.0 and continue to use COMPORT V2.0 after
  151. a reasonable trial period not exceeding 30 days, you must make a
  152. registration payment of $14.75 to the author  (OSR Open Systems Resources,
  153. Inc., 6 Tarn Road, Mont Vernon, NH  03057-1109).
  154.  
  155. The $14.75 registration fee will license one copy for use on any one
  156. computer at any one time.  You must treat this software just like a
  157. book.  An example is that this software may be used by any number of
  158. people and may be freely moved from one computer location to another,
  159. so long as there is NO POSSIBILITY of it being used at one location
  160. while it's being used at another, just as a book cannot be read by
  161. two different persons at the same time.
  162.  
  163. Commercial users of COMPORT V2.0 must register and pay for their
  164. copies of COMPORT V2.0 within 30 days of first use or their license is
  165. withdrawn.  Site-License arrangements may be made by contacting
  166. OSR Open Systems Resources, Inc.
  167.  
  168. Anyone distributing COMPORT V2.0 for any kind of remuneration must
  169. first contact OSR Open Systems Resources, Inc. at the address above for
  170. authorization. This authorization will be automatically granted to
  171. distributors recognized by the ASP as adhering to its guidelines
  172. for shareware distributors, and such distributors may begin offering
  173. COMPORT V2.0 immediately (However OSR Open Systems Resources, Inc. must
  174. still be advised so that the distributor can be kept up-to-date with
  175. the latest version of COMPORT).
  176.  
  177. You are encouraged to pass a copy of COMPORT V2.0 along to your
  178. friends for evaluation.  Please encourage them to register their copy
  179. if they find that they can use it.  
  180.  
  181.  
  182. 4.0 Why You Want to Register This Software
  183.  
  184. This is OSR's first shareware product, and depending on how many people
  185. register it, we hope to be able to do many more of similar quality and
  186. utility.  COMPORT took over 200 person hours to write, test, and document.
  187. We trust you.  Please show your appreciation by playing by the rules.
  188.  
  189. Since you've got a fully functional copy of COMPORT now, why should you
  190. bother to register it?   There are several important reasons:
  191.  
  192.     o Registered users receive free support for 90 days from date
  193.         of registration...
  194.     o Registered users receive notices of major updates and bug
  195.         fixes to this program...
  196.     o Registration removes the (annoying?) "registration reminder"
  197.         that says "Type <CR> to continue" that you see every
  198.         time you invoke a shareware copy of COMPORT...
  199.     o Continued success of the Shareware principle depends on YOU,
  200.         the user!  Shareware makes software available on a
  201.         "try before you buy" basis, at the lowest possible
  202.         cost.  Doesn't that sound like something worth
  203.         continuing?
  204.     o This is a Copyrighted program made available under the
  205.         specific terms of a license as stated in section 3.0
  206.         of this document.  If you try COMPORT V2.0 and find
  207.         it to be useful, you are legally obliged to register
  208.         it after a trial period of no longer than 30 days.
  209.         
  210. If you try this program and find it useful, please do register it.
  211. No kidding, we really depend on you sending us your money if you use
  212. this product.  We've gotta register many hundreds of copies of COMPORT V2.0
  213. in order to make back our investment.  So please, help out.  How else can
  214. Shareware authors pay bills and continue to write Shareware programs?
  215.  
  216.  
  217. 5.0 Installation
  218.  
  219. COMPORT V2.0 is distributed as a compressed library (archive) file named
  220. COMPRT20.ZIP.  This file contains:
  221.  
  222.     README.1ST    A basic overview of COMPORT, a list of the
  223.             files in the archive, and quick start instructions.
  224.     COMPORT.DOC    This file - User documentation for COMPORT
  225.     REGISTER.FRM    COMPORT registration form.  Please use it if
  226.             you find COMPORT useful.
  227.     COMPORT.EXE    The executable COMPORT program.
  228.  
  229. Installation simply involves unpacking the library file, and placing
  230. COMPORT.EXE where it can be conveniently executed, typically in a
  231. utility directory on your PATH.  For example, if you path statement
  232. is:
  233.     PATH=C:\DOS;C:\UTILS
  234.  
  235. You might wish to copy COMPORT.EXE to the UTILS directory so that it
  236. may be conveniently executed from any directory.
  237.  
  238.  
  239. 6.0 DOS Communications Background (and tutorial)
  240.  
  241. Tbis section comprises tutorial and background information about how
  242. DOS configures serial (COM) and parallel (LPT) ports, and how COMPORT
  243. modifies the BDA to make previously inaccessible ports available.  It
  244. also describes the different types of Universal Asynchronous Receiver
  245. and Transmitter (UART) chips used in different serial port implementations.
  246.  
  247. If you're already familiar with how DOS uses the BIOS Data Area (BDA) to
  248. map COM and LPT numbers to port addresses, and know (or don't care about!)
  249. the differences between a 16540 and 16550AFN you can initially ignore this
  250. section and skip ahead to section 7.0 "Instructions for Using COMPORT".
  251. Since this section does contain information on precisely how COMPORT
  252. works with the BDA, it will probably be useful for you to read the section
  253. fully at some point, however.
  254.  
  255.  
  256. 6.1 COM and LPT Name to Port Address Mapping
  257.  
  258. Like the BIOS in the original IBM PC, many BIOSes support only 2 serial
  259. ports.  Some support only 1 parallel port.  However, well known default
  260. addresses for COM1-COM4 and LPT1-LPT3 have evolved over the years since
  261. the original IBM PC was built.
  262.  
  263. To understand how COM and LPT port names are associated with addresses
  264. it's important to realize that the names COM1, COM2, COM3, COM4, LPT1,
  265. LPT2, LPT3 are really just LOGICAL names.  There are no set physical
  266. port addresses associated with these names.  The name to port address
  267. mapping is done using a table called the BIOS Data Area (BDA).
  268.  
  269. The BDA is stored in memory (RAM), and is built by the BIOS each time
  270. the system is booted.  The BIOS uses its own pseudo-proprietary algorithm
  271. to search for serial and parallel devices at some small number of
  272. expected addresses.  Logical COM ports names are associated with addresses
  273. by checking to see if serial ports exist at various addresses.  As ports
  274. are found, they are assigned in turn to the next available logical COM
  275. device name.  Logical LPT ports are assigned addresses the exact same way,
  276. using a separate list of addresses.  So, for example, if the first serial
  277. port found in the system is discovered at address 03F8h, the address 03F8h
  278. is placed in the BDA in the slot corresponding to COM1.  Note that A zero
  279. is placed in each entry of the BDA that has no associated port.  So, for
  280. example, if there's no LPT3 in the system, the BDA entry for LPT3 will have
  281. a zero in it.
  282.  
  283. COMPORT searches for COM and LPT ports precisely like the latest BIOSes
  284. do during their boot sequences.  As ports are found that had NOT been
  285. found by the host PC's BIOS during its boot sequence, these previously
  286. undiscovered ports are added to the BDA.  This addition is NOT permanent,
  287. and is in effect only until the PC is rebooted.  Hence COMPORT will have
  288. to be run each time the system is booted to add the new ports to the system.
  289.  
  290. The serial port addresses that COMPORT searches, in order, are:
  291.  
  292.         03F8h, 02F8h, 03E8h, 02E8h
  293.         
  294. The parallel port addresses that COMPORT searches, in order, are:
  295.  
  296.         03BCh, 0378h, 0278h
  297.  
  298. When a DOS utility (such as a communications program) wants to access
  299. COM1, for example, the port address presently associated with COM1 in
  300. the BDA is retreived.  Likewise, when attempting to access one of the LPT
  301. ports.
  302.  
  303. It is precisely this logical to physical port address mapping that allows
  304. COMPORT to add COM and LPT ports to the system, or change the association
  305. between a particular COM or LPT port name (like, COM1) and a particular
  306. physical port address (like, 03F8h).
  307.  
  308. Ostensibily so that utilities know which of the entries in the BDA are
  309. valid, DOS also maintains a data structure called the Equipment List Word.
  310. This structure contains, among other things, a count of the number of serial
  311. and parallel ports found by the BIOS during its boot sequence search of
  312. the system.
  313.  
  314. In practice, this Equipment List Word is inconsistently maintained and
  315. almost never consulted (except by programs which display how many parallel
  316. and serial ports exist in the system!).  After all, as it says above,
  317. any entry in the BDA that doesn't have a corresponding physical port
  318. associated with it has a zero it in.  Hence, there are a small number
  319. of BIOSes that always indicate 4 serial and 3 parallel ports in the
  320. Equipment List Word (irrespective of how many COM and LPT ports were
  321. actual located during boot).  Finally, there are inconsistencies as
  322. to how this word (and other parts of the BDA) are interpretted between
  323. the original PC and the PS/2.
  324.  
  325. Just for completeness, COMPORT ensures that any changes it makes to the
  326. BIOS Data Area are reflected in the Equipment List Word.  However, in
  327. actual practice, no utility that accesses COM or LPT ports using the
  328. BDA really cares anymore what's in the Equipment List Word.  Also, if
  329. a host PC's BIOS places arbitrary numbers in the Equipment List Word
  330. (as in the example above, where 4 COM and 3 LPT ports are always
  331. indicated) COMPORT won't bother to "straighten this out".
  332.  
  333.  
  334. 6.2 Types of Serial Port Chips (UARTS)
  335.  
  336. The original IBM PC used a particular type of chip, identified as an
  337. NS8250 (NS = Manufactured by the National Semiconductor Company), to
  338. implement its serial ports.  To create "100% compatible" clones,
  339. many PC and board makers use either this precise chip or a work-alike
  340. chip to implement their serial ports.
  341.  
  342. The 8250 has some limitations however.  It couldn't run very fast,
  343. and was never intended to be used above 9600 bps (the original PC's
  344. software enforced this limit).  A whole series of backward compatible
  345. upgrades to this original chip have been created, which allow the
  346. PC to theoreticaly communicate at speeds in excess of 690K bps.
  347.  
  348. Using the appropriate option, COMPORT examines the UARTs used by each
  349. of the serial ports on the host PC and CORRECTLY identifies its type.
  350. Note that many well know, major vendor supplied, diagnostic and
  351. utility programs have algorithmic errors which cause them to mis-identify
  352. some specific types of UARTs.
  353.  
  354. When COMPORT scans the serial (COM) ports in a system, it displays
  355. the type of each UART as one of the following types.  Note that
  356. "work alike" chips (i.e. chips that work precisely like, for example,
  357. a NS16550AFN but built by a different vendor) are identified as the
  358. original chip.
  359.  
  360. Types of UARTs that COMPORT identifies:
  361.  
  362.     o "8250" -- An 8250 or compatible chip has been identified.
  363.       The 8250 is the original, basic, serial port chip used in
  364.       the IBM PC and many compatibles.
  365.     
  366.     o "16450/16550" -- An NS16450, NS16550, or 8250A or compatible
  367.       chip has been identified.  These chips are all functionally
  368.       identical.  They are faster than the 8250, and are identified
  369.       by the existence of a "scratch register."  As a point of
  370.       trivia: The 16550 chip actually has a UART, but a serious
  371.       bug in most versions of the chip prevents the UART from
  372.       functioning properly.  16550 chips with non-working UARTs
  373.       are identified as 16450/16550s.  16550 chips with WORKING
  374.       UARTs are identified as 16550AFNs.
  375.       
  376.     o "16550AFN" -- An NS16550A, 16550AF, 16550AFN, or compatible
  377.       chip has been identified.  These chips offer significant
  378.       improvement over the 16450 series, as they provide input
  379.       and output buffers (known as silos, or FIFOs) with programmable
  380.       interrupt levels.  Chips of these types are identified by
  381.       the existence of such FIFOs.  FIFOs allow support for higher
  382.       speed communications, since interrupts can be reduced from one
  383.       for every character sent or received, to as little as one for
  384.       every 16 characters sent or received.  Many communications
  385.       programs, as well as Microsoft Windows V3.1 and later, take
  386.       advantage of the FIFO in these UARTS.  As mentioned above,
  387.       NS16550 chips with properly working FIFOs are identified
  388.       by COMPORT as 16550AFNs.
  389.  
  390.     o "Type 3" -- An IBM Type 3 Serial port chip or compatible
  391.       has been identified.  These chips are the most sophisticated,
  392.       fastest, and provide support for the highest communications
  393.       speeds of any of the present UARTs.  Found in some IBM
  394.       PS/2s, these chips support Direct Memory Access (DMA)
  395.       transfers, thus freeing the CPU of the task of moving
  396.       data from the serial port to a buffer in memory.  Serial
  397.       port speeds in excess of 690K bps are, at least theoretically,
  398.       possible with these enhanced serial ports.
  399.  
  400.  
  401. 7.0 Instructions for Using COMPORT
  402.  
  403. COMPORT is invoked as follows:
  404.  
  405.         COMPORT [option[-]] [option=add]
  406.         
  407. To invoke COMPORT with its default options, just type COMPORT followed
  408. by a carriage return.
  409.  
  410. Each option is preceded by a slash ("/") or a dash ("-") character,
  411. which are treated identically.  Options must be separated from one
  412. another by at least one space on the command line.  Case is not
  413. significant to COMPORT, thus the options "/a" and "/A" are equivalent.
  414. Some options may be disabled by following the option by a minus sign.
  415. Thus, "/A-" specifically disables the "/A" option.
  416.  
  417. This section contains a brief overview of the COMPORT options.  A
  418. complete discussion of each option follows this section.
  419.  
  420. There are two classes of COMPORT options, "Display" options and
  421. "Configuration" options.
  422.  
  423. Display options allow control of what COMPORT displays when it is
  424. invoked.  These options are:
  425.  
  426.     /A[-]         Display addresses of parallel and serial ports
  427.             known to DOS, as well as types of serial port UARTS.
  428.             DEFAULT = /A (enabled)
  429.     
  430.     /E[-]        Displays number of COM and LPT ports known to DOS
  431.             according to the BIOS Data Area Equipment List
  432.             Word, as COMPORT STARTS to run.  Therefore, any
  433.             ports found by COMPORT Configuration options are
  434.             not included in these counts.
  435.             DEFAULT = /E (enabled)
  436.     
  437.     /I[-]        Displays the IRQ (Interrupt Request Queue) number
  438.             associated with each COM port.
  439.             DEFAULT = /I- (disabled)
  440.  
  441.     /? or /H    Displays a short screen of help information.
  442.  
  443. Configuration options give control of how COM and LPT ports are configured
  444. by DOS, and allow you to register your copy of COMPORT.  Configuration
  445. options are:
  446.  
  447.     /S[-]        Requests COMPORT to scan for additional COM and
  448.             LPT ports at their typical default addresses and
  449.             if any are found, add them to DOS.
  450.             DEFAULT = /S- (disabled)
  451.     
  452.     /Cn=x        Requests COMPORT to configure COM (serial) port
  453.             n (n=1-4) in DOS at port address x (x = hex
  454.             address without trailing "h" or leading "0x").
  455.             DEFAULT = none.
  456.     
  457.     /Ln=x        Requests COMPORT to configure LPT (parallel) port
  458.             n (n=1-3) in DOS at port address x (x = hex
  459.             address, without trailing "h" or leading "0x").
  460.             DEFAULT = none.
  461.  
  462.     /R=k        Allows you to REGISTER your version of COMPORT,
  463.             using the registration key ("k") provided to you
  464.             by the author.  Registering your copy of COMPORT
  465.             removes the gentle, but annoying, registration
  466.             reminder that requires that you type <CR> to
  467.             continue COMPORT's execution.   This option
  468.             supersedes any others on the command line.
  469.  
  470. The following sections provide complete details on each option above, in
  471. alphabetical order.
  472.  
  473.  
  474. 7.1 /A -- Show Address
  475.  
  476. This option causes COMPORT to display a list of the COM and LPT ports
  477. present in the system, AFTER any COMPORT Configuration changes have
  478. been completed.  This list is taken directly from the BIOS Data Area
  479. in DOS, and hence is the actual information that will be available to
  480. DOS when COMPORT exits.
  481.  
  482. The output generated by /A looks something like the following:
  483.  
  484.     COMPORT V2.0
  485.     Copyright (c) 1993 - OSR Open Systems Resources, Inc.
  486.  
  487.     Current Port Addresses and Types:
  488.         COM1: 03F8h, Type=16450/16550
  489.         COM2: 02F8h, Type=16450/16550
  490.         COM3: 03E8h, Type=16450/16550
  491.         COM4: 02E8h, Type=16550AFN
  492.  
  493.         LPT1: 0378h
  494.         LPT2: 0278h
  495.         LPT3: (Not present -- Redirected by LAN Mgr)
  496.  
  497. For each COM port configured in the system, COMPORT displays the port
  498. address and UART (Universal Asynchronous Receiver and Transmitter)
  499. type.  This is done non-destructively, i.e. the baud rate and setup
  500. information for each port is saved and restored by COMPORT.  Also,
  501. please note that UART type is determined CORRECTLY, unlike several
  502. other programs the author has tried in his frustration.
  503.  
  504. For each LPT port configured, COMPORT displays the port address.  For
  505. LPT ports which are not physically present but have been redirected
  506. COMPORT displays a description of who's doing the redirecting (see below).
  507.  
  508. Serial (COM) ports are identified as one of the following types.  Refer
  509. to section 6.2, above, for a complete description of the differences
  510. between these UART types.
  511.  
  512.     o "8250" -- An 8250 or compatible chip has been identified.
  513.     
  514.     o "16450/16550" -- An NS16450, NS16550, or 8250A or compatible
  515.       chip has been identified. 
  516.       
  517.     o "16550AFN" -- An NS16550A, 16550AF, 16550AFN, or compatible
  518.       chip has been identified. 
  519.  
  520.     o "Type 3" -- An IBM Type 3 Serial port chip or compatible
  521.  
  522. Parallel (LPT) ports which are not physically present in the system (i.e.
  523. there is no parallel port hardware), but whose logical names have been
  524. redirected to some other device, or are under the control of a network
  525. redirector, receive the following designations:
  526.  
  527.     o "Not present -- Redirected by LAN Mgr" -- This LPT port has no
  528.       hardware associated with it, and is hence not physically present.
  529.       Instead, it has been redirected by MS net, Microsoft LAN Manager,
  530.       or Digital's Pathworks networking product.
  531.       
  532.     o "Not present -- Redirected by MODE" -- This LPT port has no
  533.       hardware associated with it, and is hence not physically present.
  534.       Instead, it has been redirected by the DOS MODE command, as in
  535.       the following:
  536.               C:\> MODE LPT3=COM2
  537.             
  538.       In the above example, the output from LPT3 has been redirected
  539.       to point to COM2.
  540.       
  541.     o "Not present -- Netware shell loaded" -- For LPT2 and LPT3 only,
  542.        Novell's Netware networking product places a special address
  543.        in the BIOS Data Area when the shell is loaded.  The indicated
  544.        LPT port is redirected by Netware, and is not physically present
  545.        on this system.
  546.       
  547.  
  548. 7.2 /Cn=x -- Configure COM Port at Specified Address
  549.  
  550. The /Cn=x option allows the user to specify the address of any serial
  551. port, as well the COM number that address is associated with.  This
  552. information is stored in the DOS BIOS Data Area, and the total number
  553. of ports of each type are updated in the BIOS Equipment List Word.
  554.  
  555. For this option, "n" is the number of the COM port (1-4) and x is the
  556. hexadecimal address of the associated serial port.  This hex address
  557. may be specified in one to four hex digits, and must not include any
  558. "hex identifying" bytes such as a trailing "h" or leading "0x".
  559. Therefore, the hex address "02E8" is valid, but "0x02E8" is not and
  560. neither is "02E8h".  Hex address "FFFF" is used to request COMPORT
  561. to REMOVE the indicated serial port from the DOS BIOS Data Area
  562. tables (see below for this special use of /Cn=FFFF).  Specifying an
  563. address of zero (as in /C2=0) is not valid).
  564.  
  565. When a user specified a serial port address using the /Cn=x option,
  566. COMPORT examines the provided hex port address to see if a valid COM
  567. port can be identified at that address.  Thus, if COMPORT is invoked
  568. with the command:
  569.  
  570.     COMPORT /C1=0278
  571.  
  572. this requests that COMPORT associate address 0278 (hex) with COM1, and
  573. place this information in the DOS BIOS Data Area.  If a valid serial port
  574. is found at this address (i.e. if one of the four types of serial port
  575. UARTS listed above in section 7.1 can be found at the given address),
  576. COMPORT displays a message such as the following:
  577.  
  578.     COMPORT V2.0
  579.     Copyright (c) 1993 - OSR Open Systems Resources, Inc.
  580.  
  581.     ...Processing manual port address options...
  582.         Verified COM1 at specified address 0278h (added to DOS)
  583.  
  584. If no valid serial port can be found at the indicated location, COMPORT
  585. will not add the address you provide to the DOS BIOS Data Area.  COMPORT
  586. informs you of this by displaying a message such as the following:
  587.  
  588.     COMPORT V2.0
  589.     Copyright (c) 1993 - OSR Open Systems Resources, Inc.
  590.  
  591.     ...Processing manual port address options...
  592.         ***ERROR: Did not find COM1 at specified address 0278h
  593.                             (DOS not changed)
  594.  
  595. It is important to note that in either case (valid port found, or no valid
  596. port found) COMPORT informs the user of whether or not the COM port was
  597. added to DOS.
  598.  
  599. The /Cn=x option can also be used to request COMPORT to remove the
  600. indicated COM port number from the DOS internal BIOS Data Area tables,
  601. though we can't honestly think of a reason that anyone would need to do
  602. this in "real life".  The entry for the port in the BDA is set to zero
  603. by COMPORT.  This is done by specifying hex address "FFFF", as in:
  604.  
  605.     COMPORT /C3=FFFF
  606.  
  607. In this case, a message similar to the following is displayed:
  608.  
  609.     COMPORT V2.0
  610.     Copyright (c) 1993 - OSR Open Systems Resources, Inc.
  611.  
  612.     ...Processing manual port address options...
  613.         Removed COM3 from DOS
  614.  
  615. COMPORT places no restriction on the number of times a single serial port
  616. address can be configured into the DOS tables.  Therefore, if, for example,
  617. a particular piece of software that you use prints to COM3 and another
  618. piece of software that you use prints to COM1, and neither allows you
  619. to change these specifications, and you wish to use the same printer
  620. for both (but, obviously not at the same time), you may specify:
  621.  
  622.     COMPORT /C3=03F8
  623.     
  624. Where 03F8 is the default address for COM1, and a valid serial port
  625. UART exists at this location.  COMPORT will display something like
  626. the following:
  627.  
  628.     COMPORT V2.0
  629.     Copyright (c) 1993 - OSR Open Systems Resources, Inc.
  630.  
  631.     Current Port Addresses and Types:
  632.         COM1: 03F8h, Type=16450/16550
  633.         COM2: 02F8h, Type=16450/16550
  634.         COM3: 03F8h, Type=16450/16550
  635.  
  636. Thereby allowing the serial port at address 03F8 to be accessed as
  637. either COM1 or COM3.
  638.  
  639. Finally, note that when all COM port changes are complete, the BIOS Data
  640. Area Equipment List Word (see /E, below) is updated with the new count of
  641. the ports configured in the system.  In the example directly above, the
  642. equipment list word would indicate 3 COM ports (even though COM1 and
  643. COM3 share the same address).
  644.  
  645.  
  646. 7.3 /E -- Display Counts from BIOS Equipment List
  647.  
  648. The /E option displays the numbers of serial and parallel ports as
  649. indicated by the DOS BIOS Equipment List word, PRIOR to COMPORTs taking
  650. any actions (such as manually configuring any ports or automatically
  651. scanning for additional ports at their default addresses).  The
  652. output from this option looks like the following:
  653.  
  654.  
  655.     COMPORT V2.0
  656.     Copyright (c) 1993 - OSR Open Systems Resources, Inc.
  657.  
  658.     DOS Equipment List Initially Indicates:
  659.         4 serial ports
  660.         2 parallel ports
  661.  
  662. Users should note that the DOS Equipment List Word is notoriously
  663. inaccurate, and rather than rely on it, most programs simply interrogate
  664. the BIOS Data Area directly.
  665.  
  666.  
  667. 7.4 /I -- List Associated IRQs for COM Ports
  668.  
  669. The /I option does the same thing as /A, but adds to the Address List
  670. the IRQ number associated with each COM port.  The IRQ is determined
  671. empirically, by actually generating an interrupt on each serial port
  672. and determining at which address the interrupt occurs.  This is another
  673. area in which COMPORT differs from other programs, which often display
  674. the DEFAULT IRQ most often associated with the indicated device, which
  675. is typically pretty useless.
  676.  
  677. Conflicting IRQs are the single most common cause of problems in
  678. industry standard PC systems, when adding new hardware options.
  679. Typically, each device that needs to be simultaneously active needs
  680. to have its own IRQ.  So, devices can share IRQs, but such devices
  681. may not be used at the same time.  Hence, it's fine to have a mouse
  682. attached to COM1 at IRQ 4, a modem to COM2 at IRQ3, and a printer to
  683. COM3 also at IRQ3.  It just will NOT be possible to use the modem on
  684. COM2 and the printer on COM3 at the same time (since they share IRQ3).
  685.  
  686. The /I option to COMPORT results in a display similar to the following:
  687.  
  688.     COMPORT V2.0
  689.     Copyright (c) 1993 - OSR Open Systems Resources, Inc.
  690.  
  691.     Current Port Addresses and Types:
  692.         COM1: 03F8h, Type=16450/16550, IRQ=4
  693.         COM2: 02F8h, Type=16450/16550, IRQ=3
  694.         COM3: 03E8h, Type=16450/16550, IRQ=5
  695.  
  696.         LPT1: 0378h
  697.         LPT2: 0278h
  698.  
  699. Note that the /I option causes COMPORT to "take control" of specific
  700. interrupt vectors in your system during its testing.  For the few
  701. milliseconds that this test is running, COMPORT assumes that nothing
  702. else (mouse movement, floppy disk I/O, or network adapter activity
  703. for example) is happening on the system.  Hence, it is advised
  704. to run COMPORT with the /I option only on a "quiet" system, and not
  705. (for example) with your network loaded. This will ensure accuracy of
  706. results.  Also, if network activity is in progress when COMPORT's /I
  707. option is executed, interrupts could possibly be lost or disabled from
  708. your network interface card.
  709.  
  710. None of these things will likely cause any damage to your system or
  711. software, they just might limit the cases in which you get an accurate
  712. COMPORT display of IRQs.
  713.  
  714. While COMPORT attempts to leave all the serial port registers just as
  715. it found them this is not always completely possible, and minor
  716. register changes may occur.  In most cases these will be unnoticed,
  717. but this is another reason to not have any other software simultaneously
  718. accessing the COM ports while COMPORT is!
  719.  
  720. To keep your system as safe as possible during its checks, COMPORT's /I
  721. option does NOT check for serial port activity at the following IRQs:
  722.  
  723.         IRQ0    Used by the system timer
  724.         IRQ1    Used by the keyboard
  725.         IRQ2    Slaved for IRQ8-IRQ15
  726.  
  727.         IRQ8    Used by the real-time clock
  728.         IRQ9    Software redirected to IRQ2
  729.         IRQ14    Used by the hard disk
  730.  
  731. Hence, if you have a VERY unusual system configuration, and one of your
  732. serial ports uses one of the above IRQs, COMPORT will not properly
  733. identify the IRQ used by that port.  Also, if you have an even MORE
  734. unusual system configuration, and one of the above devices is set to
  735. an IRQ NOT listed above, COMPORT may get confused and report THAT as
  736. the serial port's IRQ.  Again, you'd have to have a pretty unusual
  737. system for that to happen... and if you have such a system you'd already
  738. have to know what your IRQ assignments are!
  739.  
  740.  
  741. 7.5 /Ln=x -- Configure LPT Port at Specified Address
  742.  
  743. The /Ln=x option allows the user to specify the address of any parallel
  744. port, as well as the LPT number that address is associated with.  This
  745. information is stored in the DOS BIOS Data Area, and the total number
  746. of ports of each type are updated in the BIOS Equipment List Word.
  747. The /Ln=x option functions very similarly to the /Cn=x option.
  748.  
  749. For this option, "n" is the number of the LPT port (1-3) and x is the
  750. hexadecimal address of the associated serial port.  This hex address
  751. may be specified in one to four hex digits, and must not include any
  752. "hex identifying" bytes such as "h" or "0x".  Therefore, the hex
  753. address "02E8" is valid, but "0x02E8" is not and neither is "02E8h".
  754. Hex address "FFFF" is used to request COMPORT to REMOVE the indicated
  755. parallel port from the DOS BIOS Data Area tables (see below for this
  756. special use of /Ln=FFFF).
  757.  
  758. When a user specifies a parallel port address using the /Ln=x option,
  759. COMPORT examines the provided hex port address to see if a device
  760. exists at that address.  This is done by simply accessing the
  761. indicated port address with an IN instruction.  Thus, if COMPORT is
  762. invoked with the command:
  763.  
  764.     COMPORT /L2=0278
  765.  
  766. this requests that COMPORT associate address 0278 (hex) with LPT2, and
  767. place this information in the DOS BIOS Data Area.  If a device is found
  768. at this address COMPORT displays a message such as the following:
  769.  
  770.     COMPORT V2.0
  771.     Copyright (c) 1993 - OSR Open Systems Resources, Inc.
  772.  
  773.     ...Processing manual port address options...
  774.         Verified LPT2 at specified address 0278h (added to DOS)
  775.  
  776. If no device can be found at the indicated location, COMPORT will not
  777. add the supplied LPT port address to the BDA.  Instead, a message such
  778. as the following is displayed:
  779.  
  780.     COMPORT V2.0
  781.     Copyright (c) 1993 - OSR Open Systems Resources, Inc.
  782.  
  783.     ...Processing manual port address options...
  784.         ***ERROR: Did not find LPT2 at specified address 0278h
  785.                             (DOS not changed)
  786.  
  787. It is important to note that in either case (valid port found, or no valid
  788. port found) COMPORT informs the user of whether or not the LPT port was
  789. added to DOS.
  790.  
  791. The /Ln=x option can also be used to request COMPORT to remove the
  792. indicated LPT port number from the DOS internal BIOS Data Area tables (and
  793. enter a zero in the BDA in its place).  This is done by specifying hex
  794. address "FFFF", as in:
  795.  
  796.     COMPORT /L3=FFFF
  797.  
  798. In this case, a message similar to the following is displayed:
  799.  
  800.     COMPORT V2.0
  801.     Copyright (c) 1993 - OSR Open Systems Resources, Inc.
  802.  
  803.     ...Processing manual port address options...
  804.         Removed LPT3 from DOS
  805.  
  806. COMPORT places no restriction on the number of times a single parallel port
  807. can be configured into the DOS tables.  Therefore, if, for example, a
  808. particular piece of software that you use prints to LPT3 and another
  809. piece of software that you use prints to LPT1, and neither allows you
  810. to change these specifications, and you wish to use the same printer
  811. for both (but, obviously not at the same time), you may specify:
  812.  
  813.     COMPORT /L3=0378
  814.     
  815. Where 0378 is the default address for LPT1, and a device exists at this
  816. location.  COMPORT will display something like the following:
  817.  
  818.     COMPORT V2.0
  819.     Copyright (c) 1993 - OSR Open Systems Resources, Inc.
  820.  
  821.     ...Processing manual port address options...
  822.         Verified LPT3 at specified address 0378h (added to DOS)
  823.  
  824.     Current Port Addresses and Types:
  825.         COM1: 03F8h, Type=16450/16550
  826.         COM2: 02F8h, Type=16450/16550
  827.         COM3: 03E8h, Type=16450/16550
  828.  
  829.         LPT1: 0378h
  830.         LPT2: 0278h
  831.         LPT3: 0378h
  832.  
  833. Thereby allowing the parallel port at address 0378 to be accessed as
  834. either LPT1 or LPT3.
  835.  
  836. Finally, note that when all LPT port changes are complete, the BIOS Data
  837. Area Equipment List Word (see /E, above) is updated with the new count of
  838. the ports configured in the system.  In the example directly above, the
  839. equipment list word would indicate 3 LPT ports (even though LPT1 and
  840. LPT3 share the same address).
  841.  
  842.  
  843. 7.6 /R=k -- Register COMPORT Using Key
  844.  
  845. The /R=k option allows a user to register a previously unregistered
  846. copy of COMPORT, using a registration key.  This registration key is
  847. provided by the Author when the registration fee is paid.  The /R=k
  848. option supersedes all other options on the command line, and prompts
  849. the user for his name if the registration key is valid.
  850.  
  851. Once COMPORT has been registered, your name and registration key will
  852. be displayed each time the program is started.  Further, the annoying
  853. "Type <CR> to continue" message, displayed each time COMPORT is run,
  854. and the reminder to pay your registration fee each time HELP is requested,
  855. will be removed.
  856.  
  857. To register COMPORT, enter the registration key value supplied in
  858. your registration record, following the /R= option on the command
  859. line.  Do not supply any notation prefixes (such as 0x) or suffixes
  860. (such as h).  Also, the media from which COMPORT is running must be
  861. write-enabled, and you must have write access to the COMPORT image file.
  862. If your registration key were "17765000" you would use the following
  863. command to register COMPORT:
  864.  
  865.     COMPORT /R=17765000
  866.  
  867. COMPORT will ignore any other options specified before or after the
  868. /R on the command line.  When the above command is entered, COMPORT
  869. will enter its registration procedure, and display something like
  870. the following:
  871.  
  872.     COMPORT V2.0
  873.     Copyright (c) 1993 - OSR Open Systems Resources, Inc.
  874.     
  875.     Owner Registration Procedure
  876.     Exe file name and path: C:\UTILS\COMPORT.EXE
  877.  
  878.     At the prompt, enter your username EXACTLY as it appears
  879.     on your registration record.
  880.     Username: 
  881.  
  882. At the above prompt, enter your username exactly as it has been
  883. returned to you in the registration record.  Note that case, spaces,
  884. spelling, punctuation, etc are all significant.  If the registration
  885. key is valid, and it is appropriate for the indicated username,
  886. COMPORT will display a message like the following:
  887.  
  888.     THANK YOU for registering COMPORT.
  889.     Keep your registration record in a safe place so that you can
  890.     re-register your copy of COMPORT if necessary.
  891.  
  892. If your registration key is invalid, or if it is judged by COMPORT's
  893. registration procedure to be inappropriate for your username, COMPORT
  894. will display a message such as the following:
  895.  
  896.     Registration Key or User Name INCORRECT.
  897.  
  898.     Please check your data and try again!
  899.  
  900.     ***ERROR: Registration procedure FAILED.
  901.  
  902.     ***PLEASE register COMPORT!
  903.  
  904. When the key is invalid, COMPORT remains unchanged.  Thus if you have
  905. been running the shareware version of COMPORT, or a previously registered
  906. version of COMPORT, you may continue to run that version unchanged).
  907.  
  908. If you're having trouble registering COMPORT after receiving a valid
  909. registration key from OSR Open Systems Resources, recheck the following
  910. points:
  911.  
  912.     o Do you have write access to the COMPORT.EXE file?  You must
  913.         have write access for COMPORT to be successfully
  914.         registered.
  915.     
  916.     o Have you entered your registration key precisely as supplied
  917.         on your registration record?
  918.         
  919.     o Have you entered your username precisely as it was printed
  920.         on your registration record?  Spaces, spelling, and
  921.         punctuation all must be precisely identical to the way
  922.         they appear in your username on the registration record.
  923.  
  924.  
  925. 7.7 /S -- Scan for Ports at Default Addresses
  926.  
  927. When the /S option is enabled, if COMPORT finds fewer than 4 COM ports
  928. and fewer than 3 LPT ports configured by DOS, COMPORT will search for
  929. additional ports at the addresses listed below (which have not already
  930. been located by DOS).  As these additional ports are found, they are added
  931. to the DOS BIOS Data Area and the counts in the BIOS Equipment List Word
  932. are adjusted accordingly.  Please see section 6.0 "DOS Communications
  933. Background" for more information on the BDA and COM/LPT to physical
  934. port address mapping.
  935.  
  936. The serial port addresses that COMPORT searches, in order, are:
  937.  
  938.         03F8h, 02F8h, 03E8h, 02E8h
  939.         
  940. The parallel port addresses that COMPORT searches, in order, are:
  941.  
  942.         03BCh, 0378h, 0278h
  943.  
  944. Addresses supplied using the /Cn=x and /Ln=x options override the
  945. default port addresses used by the /S option.
  946.  
  947. When COMPORT is executed with /S enabled, output similar to the
  948. following is produced:
  949.  
  950.     COMPORT V2.0
  951.     Copyright (c) 1993 - OSR Open Systems Resources, Inc.
  952.     
  953.     ...Scanning for additional serial ports at default addresses...
  954.         Found COM4: at address 02E8h (added to DOS)
  955.     ...Scanning for additional parallel ports at default addresses
  956.         Found LPT2 at address 0278h (added to DOS)
  957.     
  958.     Current Port Addresses and Types:
  959.         COM1: 03F8h, Type=16450/16550
  960.         COM2: 02F8h, Type=16450/16550
  961.         COM3: 03E8h, Type=16450/16550
  962.         COM4: 02E8h, Type=16550AFN
  963.     
  964.         LPT1: 0378h
  965.         LPT2: 0278h
  966.  
  967.  
  968. 8.0 Support
  969.  
  970. This is a professionally written piece of software, which is backed by
  971. a top network software development and consulting corporation.  Every
  972. reasonable attempt has been made to ensure this software product operates
  973. in a reliable and predictable manner.  However, this product is supplied
  974. under the terms described in section 3.0 above.
  975.  
  976. Support for this software product is included in the price of registration,
  977. and is available directly from the author via Compuserve or US mail.
  978. Support comprises answering questions and fixing serious bugs or problems
  979. reported by registered users to the author during the support period.  If
  980. any such problem or bug cannot be fixed, a full refund of the registration
  981. fee will be provided.
  982.  
  983. We love to hear your suggestions, ideas, compliments, and even complaints,
  984. so please feel free to write.  When writing to report a problem, please
  985. strive to include all relevant information AS WELL AS A DAYTIME PHONE
  986. NUMBER where you can be reached should further information become
  987. necessary.
  988.  
  989.  
  990. 9.0 Legal Minutae
  991.  
  992. All trademarks mentioned are the sole property of their registered
  993. owners.  The COMPORT software and this document are Copyright (c) 1993
  994. by OSR Open Systems Resources, Inc., all rights reserved unless explicitly
  995. stated.
  996.  
  997.  
  998. 10.0 Registration
  999.  
  1000. If you find COMPORT useful, please register it!  You may use the form
  1001. on the following page:
  1002.  
  1003.  
  1004.  
  1005.         COMPORT V2.0 SHAREWARE REGISTRATION FORM
  1006.  
  1007.  
  1008. Thank you for supporting the Shareware concept and registering COMPORT!
  1009. Please fill out this form, include your check (drawn on a US Bank) or
  1010. money order for US$14.75 payable to OSR Open Systems Resources, Inc., and
  1011. mail it to:
  1012.  
  1013.         OSR Open Systems Resources, Inc.    
  1014.         6 Tarn Road
  1015.         Mont Vernon, NH  03057-1109
  1016.         
  1017. In return, you will receive:
  1018.         o Your registration key for COMPORT, which will allow
  1019.           you to remove the registration reminder annoyance;
  1020.         o Full support from the author for 90 days from the date
  1021.           of registration;
  1022.         o Notification of major updates and bug fixes for COMPORT;
  1023.         o Peace of mind, and a sense of satisfaction at having
  1024.           done the right thing!
  1025.  
  1026. If you woud like to receive an attractive, laser-printed copy of the
  1027. COMPORT V2.0 manual (with fancy type faces, and the like) please send
  1028. an additional $5.00 with your order.
  1029.  
  1030.  
  1031.     Date:_________
  1032.  
  1033.     Name_______________________________________________
  1034.  
  1035.     Company (if applicable)____________________________
  1036.  
  1037.     Mailing Address____________________________________
  1038.  
  1039.     Address 2__________________________________________
  1040.  
  1041.     City/State/Zip_____________________________________
  1042.  
  1043.  
  1044. Comments/Ideas/Suggestions/Requests for ammendations/Impressions:
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052. PRODUCT: COMPORT V2.0, $14.75
  1053.